/* Copyright (C) 2010 Fredrique Samuels, fredriquesamuels@gmail.com */

/*
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation; either version 2 of the License, or
 (at your option) any later version.

 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.

 You should have received a copy of the GNU General Public License
 along with this program; if not, write to the Free Software
 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 */

#ifndef TRI_GLYPH_H_
#define TRI_GLYPH_H_

#include <string>
#include <map>

#include "base/system.h"
#include "base/rectangle.h"

#include "entity.h" 
#include "camera.h"


namespace tri {

class TGlyph : public tri::TEntity {
public:
	TGlyph();
	virtual ~TGlyph();

	virtual void display();

	void setBackgroundColor(int r, int g, int b);
	void setClipInsets(float l, float t, float r, float b);
	void setImageInsets(float l, float t, float r, float b);

	virtual void update();

	void setReflection(bool b);
	void hasReflection(bool b);

private:
	tri::graphics::TColor _bgcolor;
	
	tri::TRectangle _tc;
	tri::TRectangle clip_insets;
	tri::TRectangle mImageInsets;
	bool _reflect;

};

}

#endif /*TRI_GLYPH_H_*/
